(function() {
    function queue() {
        this.dataStore = [];
        this.top = 0;
    };
    queue.prototype.clear = function(element) {
        delete this.dataStore[element];
    };
    queue.prototype.length = function() {
        return this.top;
    };
    queue.prototype.push = function(element) {
        this.dataStore.push(element);
        this.top++;
    };
    queue.prototype.shift = function() {
        this.top--;
        return this.dataStore.shift();
    };
    queue.prototype.get = function() {
        return this.dataStore[this.top - 1];
    };
    window.fi.Queue = queue;
})();